package com.example.administrator.babymusic.net;

import org.json.JSONObject;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
//
/**
 * 对网络请求的封装
 * 会根据传入的Map参数拼接url，
 * 对于需要向服务器发送JSON数据的请求，将请求设置进构造函数的相应参数中即可。
 * 对不需要传JSON数据的请求，该参数可为空。
 */
//
	//
public class STRequest {
	private String url;
	private Map<String, Object> params;
	private JSONObject json;
	public STRequest(String url, Map<String, Object> params, JSONObject json) {
		this.url = url;
		this.params = params;
		this.json = json;
	}



	/**
	 * 根据传入的Map参数自动生成完整的url
	 * @return
	 */
	public String generateUrl() {
		return url;
	}
	
	public Map<String, Object> getParams() {
		return params;
	}
	
	public JSONObject getJson() {
		if(json == null) {
			json = new JSONObject();
		}
		return json;
	}
	
	/** 
	    * JSON 转成 Map<String, Object> 
	    * @param
	    * @return 
	    */  
	   public static Map<String, Object> getMapFormJson(JSONObject jsonObject){   
	       try {  
	           Iterator<String> keyIter= jsonObject.keys();  
	           String key;  
	           Object value ;  
	           Map<String, Object> valueMap = new HashMap<String, Object>();  
	           while (keyIter.hasNext()) {  
	               key = keyIter.next();  
	               value = jsonObject.get(key);  
	               valueMap.put(key, value);  
	           }  
	           return valueMap;  
	       } catch (Exception e) {  
	           // TODO: handle exception  
	           e.printStackTrace();  
	       }  
	       return null;  
	   } 
}
